<script>
    Person.prototype.age = 18
    function Person() {
        // var this = {} // 1
        // // 2
        // return this // 3
        //new会执行以下步骤，和之前的不一样，之前的有问题
        // var obj = {} // 1 创建一个对象
        // Person.call(obj)  // 2  让 this === obj
        // this.name = '刘洋'  // 3
        // obj.__proto__ = Person.prototype // 4  赋值 相当于给同一个引用地址
        // return obj // 5
    }
    const p = new Person()
    // console.log(p.__proto__.constructor); // 实例对象的隐式原型 === 构造函数显示原型
    // console.log(p.constructor);
    // console.log(p.__proto__ === Person.prototype);
    console.log(p.constructor)
</script>